I was not able to perform any experimemts of my own, but the results for running Linux on the L4 kernel mentioned in [#!muperf!#] look promising for the performance problem associated with Mach. Additionally, they state that it took `14 engineer-months' to port the monolithic Linux kernel to run on L4.
Unfortunately, I am not able to persuade GNUMach to run on my computer, due to a bug in the device driver for my Adaptec SCSI card. I was therefore not able to test my modifications. I hope to do so at some stage in the future when a replacement driver appears.
There are many shortcomings in the LibMOM API compared to the Mach API. LibMOM evidently requires more work before HURD can be fully abstracted fom the Mach microkernel. In order to achieve its goal of abstraction from any particular microkernel, it must abstract all the services which HURD requires. It does not currently even attempt to deal with handling threads, clocks and most importantly, it has no interface which deals with access control or other security mechanism.
It could be argued that this type of interface should not be added to LibMOM; instead in order to port HURD to a new microkernel, libthreads and libports should be ported. I would disagree with this because it would then leave many libraries which had to be rewritten instead of one, which would make the task of porting HURD less clear.